System and method for tracking a downloaded digital media file

ABSTRACT

A system and method for tracking a downloaded digital media file which employs reheader splicing of the digit media file for digital rights management (DRM) are provided. The system and method provide for receiving a request for a first file from a client, accessing the first file and a second file that is representative of the first file, applying data identifying the client into the second file, and combining the first and second file such that a size of the combined file is substantially the same size as the accessed first file, and downloading the combined first and second file to the client. The combining of the first and second file includes replacing corresponding object components of the first file with the objects components of the second file. The data identifying the client includes at least one of a transaction ID, merchant ID, user ID and order ID.

This application claims the benefit under 35 U.S.C. §119 of provisionalapplication 61/003333 which was filed in the United States on Nov. 16,2007.

TECHNICAL FIELD OF THE INVENTION

The present disclosure generally relates to computer graphics processingand display systems, and more particularly, to a system and method fortracking a downloaded digital media file which employs reheader splicingof the digit media file for digital rights management (DRM).

BACKGROUND OF THE INVENTION

With the proliferation of digital media and analog/digital conversiontechnologies, concerns of copyright-dependent organizations, especiallywithin the music and movie industries, have significantly increased.While analog media inevitably loses quality with each copy generationand in some cases even during normal use, digital media files may beduplicated an unlimited number of times with no degradation in thequality of subsequent copies. Personal computers as householdappliances, along with other portable digital media devices such as MP3players, have made it convenient for consumers to convert media (whichmay or may not be copyrighted) originally in a physical/analog form or abroadcast form into a universal, digital form for location or timeshifting. Furthermore, combined with the Internet and popular filesharing tools, personal computers have made unauthorized distribution ofcopies of copyrighted digital media much easier.

Digital rights management (DRM) technologies attempt to control use ofdigital media by preventing access, copying or conversion to otherformats by end users, as well as controlling distribution. Various DRMsystems have been employed to protect the copyrights and otherintellectual property rights of digital media content creators andpublishers. One such DRM system includes an encryption scheme where akey is associated with an ID number of a user's personal computer andthe key only decodes the digital media when accessed from that specificcomputer. Other encryption schemes use limited-use encryption where akey decodes the digital media for a limited period of time. Another DRMsystem employs Web-based permission, where a user's computer contacts alicense-verification server over the Internet to get permission, e.g.,an access key, to access or play the digital media. Furthermore, someDRM systems mark the digital media with a digital watermark to preventfree distribution of the digital media content by including copyrightinformation in the digital media as bits of information that require aspecial program for reading.

In addition to controlling the distribution of digital media, a needexists for techniques for embedding information into a copy of thedigital media relating to a particular transaction so the digital mediacan be tracked.

SUMMARY

A system and method for tracking a downloaded digital media file whichemploys reheader splicing of the digit media file for digital rightsmanagement (DRM) are provided. The system and method of the presentdisclosure allows digitally signed and encoded Windows Media files(i.e., Advanced System Format (ASF) files) to be injected withinformation that is unique per transaction and to do so in an efficientmanner. Thus, any request for a DRM license prompted by attempting toplay the digital media file can be uniquely tied back to a specificdownload transaction. Furthermore, the relative cost of doing this inreal-time is potentially minimized with the time saving increasingdirectly proportional to the ASF file size.

According to one aspect of the present disclosure, a method for trackinga downloaded file is provided including steps of receiving a request fora first file from a client, accessing the first file and a second filethat is representative of the first file, applying data identifying theclient into the second file, and combining the first file and the secondfile such that a size of the combined first and second file issubstantially the same size as the accessed first file. The methodfurther includes downloading the combined first and second file to theclient.

In another aspect, the method further includes deleting the combinedfirst and second file and the second file having the client data afterdownloading.

In a further aspect, the combining step includes replacing correspondingobject components of the first file with the objects components of thesecond file including the applied data. In one embodiment, the objectcomponents are ASF objects.

In another aspect, the data identifying the client includes at least oneof a transaction ID, merchant ID, user ID and order ID.

According to a further aspect of the present disclosure, the methodfurther includes receiving the first file from a content owner,generating the second file that is representative of the first file, andencrypting the first and second files using an identical encryption key.The method generates a first map of object components contained in thefirst file and a second map of object components in the second file.Furthermore, the method determines which object components of the secondfile include the data identifying the client, and splices the determinedobject components of the second file into corresponding objectcomponents of the first file.

According to another aspect of the present disclosure, a system fortracking a downloaded file is provided. The system includes acommunication module, element, component or the like for receiving arequest for a first file from a client, a digital right managementmodule, element, component or the like for accessing the first file anda second file that is representative of the first file, a reheaderingmodule, element, component or the like applying data identifying theclient into the second file, and a splicer for combining the first fileand the second file such that a size of the combined first and secondfile is substantially the same size as the accessed first file. Thecommunication module is further adapted for downloading the combinedfirst and second file to the client.

In another aspect, the system includes an object map generator forgenerating a first map of object components contained in the first fileand a second map of object components in the second file. Furthermore,the splicer is further adapted for determining which object componentsof the second file include the data identifying the client and splicingthe determined object components of the second file into correspondingobject components of the first file.

BRIEF DESCRIPTION OF THE DRAWINGS

These, and other aspects, features and advantages of the presentdisclosure will be described or become apparent from the followingdetailed description of the preferred embodiments, which is to be readin connection with the accompanying drawings.

In the drawings, wherein like reference numerals denote similar elementsthroughout the views:

FIG. 1 illustrates a system and method for tracking a downloaded file inaccordance with the present disclosure;

FIG. 2 is an exemplary server for tracking a downloaded file inaccordance with the present disclosure;

FIG. 3 is a flow diagram of an exemplary method for ingesting a file inaccordance with the present disclosure;

FIG. 4 is a screen shot illustrating a first media file and itsassociated second file along with corresponding XML formatted filesdescribing the first and second files' ASF objects and their addresspointers respectively;

FIGS. 5 and 6 illustrate the mapping of the second smaller file in anXML format where FIG. 5 shows the second file's media information andASF objects and FIG. 6 shows the second file's ASF sections that will beused for splicing;

FIG. 7 is a flow diagram of an exemplary method for tracking adownloaded file in accordance with the present disclosure;

FIG. 8 illustrates how a second file is spliced into a first media filefor downloading; and

FIG. 9 illustrates the typical ASF objects within a media file withcertain object designated as different (diff) which are to be splicedinto the media file.

It should be understood that the drawing(s) is for purposes ofillustrating the concepts of the disclosure and is not necessarily theonly possible configuration for illustrating the disclosure.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

It should be understood that the elements shown in the FIGS. may beimplemented in various forms of hardware, software or combinationsthereof. Preferably, these elements are implemented in a combination ofhardware and software on one or more appropriately programmedgeneral-purpose devices, which may include a processor, memory andinput/output interfaces.

The present description illustrates the principles of the presentdisclosure. It will thus be appreciated that those skilled in the artwill be able to devise various arrangements that, although notexplicitly described or shown herein, embody the principles of thedisclosure and are included within its spirit and scope.

All examples and conditional language recited herein are intended forpedagogical purposes to aid the reader in understanding the principlesof the disclosure and the concepts contributed by the inventor tofurthering the art, and are to be construed as being without limitationto such specifically recited examples and conditions.

Moreover, all statements herein reciting principles, aspects, andembodiments of the disclosure, as well as specific examples thereof, areintended to encompass both structural and functional equivalentsthereof. Additionally, it is intended that such equivalents include bothcurrently known equivalents as well as equivalents developed in thefuture, i.e., any elements developed that perform the same function,regardless of structure.

Thus, for example, it will be appreciated by those skilled in the artthat the block diagrams presented herein represent conceptual views ofillustrative circuitry embodying the principles of the disclosure.Similarly, it will be appreciated that any flow charts, flow diagrams,state transition diagrams, pseudocode, and the like represent variousprocesses which may be substantially represented in computer readablemedia and so executed by a computer or processor, whether or not suchcomputer or processor is explicitly shown.

The functions of the various elements shown in the figures may beprovided through the use of dedicated hardware as well as hardwarecapable of executing software in association with appropriate software.When provided by a processor, the functions may be provided by a singlededicated processor, by a single shared processor, or by a plurality ofindividual processors, some of which may be shared. Moreover, explicituse of the term “processor” or “controller” should not be construed torefer exclusively to hardware capable of executing software, and mayimplicitly include, without limitation, digital signal processor (“DSP”)hardware, read only memory (“ROM”) for storing software, random accessmemory (“RAM”), and nonvolatile storage.

Other hardware, conventional and/or custom, may also be included.Similarly, any switches shown in the figures are conceptual only. Theirfunction may be carried out through the operation of program logic,through dedicated logic, through the interaction of program control anddedicated logic, or even manually, the particular technique beingselectable by the implementer as more specifically understood from thecontext.

In the claims hereof, any element expressed as a means for performing aspecified function is intended to encompass any way of performing thatfunction including, for example, a) a combination of circuit elementsthat performs that function or b) software in any form, including,therefore, firmware, microcode or the like, combined with appropriatecircuitry for executing that software to perform the function. Thedisclosure as defined by such claims resides in the fact that thefunctionalities provided by the various recited means are combined andbrought together in the manner which the claims call for. It is thusregarded that any means that can provide those functionalities areequivalent to those shown herein.

A system and method for tracking a downloaded digital media file whichemploys reheader splicing of the digit media file for digital rightsmanagement (DRM) are provided. The system and method of the presentdisclosure allows digitally signed and encoded Windows Media files(e.g., ASF files) to be injected with information that is unique pertransaction and to do so in an efficient manner. Thus, any request for aDRM license prompted by attempting to play the digital media file can beuniquely tied back to a specific download transaction. Furthermore, therelative cost of doing this in real-time is potentially minimized withthe time saving increasing directly proportional to the ASF file size.

The system and method of the present disclosure provides to uniquelyidentify each and every downloaded media file. Although this is possiblewith a conventional function, it is not always practical to use thatfunction; firstly, the conventional examples show usage within the ASPfile, and secondly, issues arise with processing large (typically video)media files. Specifically, the conventional function processes the wholefile which leads to performance and scalability limitations whenprocessing large media files. The system and method of the presentdisclosure is unique in that it does not re-process the entire originalfile, but instead it processes a tiny representative file, which is thenspliced together with the original file. The tiny file is encrypted withthe same key as the main original media file, and this enables thesystem and method to perform reheader splicing without affecting the endresult of having a playable media file.

The purpose of the present disclosure is twofold: (1) to writeinformation into a digitally signed Windows Media file (e.g., a ASFfile) that is unique per user download (i.e., per transaction) and (2)to do so in an efficient manner that does not require the entire ASFfile to be re-encoded nor reheadered in its entirety.

For every application of the present disclosure, a pair of ASF files areinvolved. One of these is the “main” DRM-encoded ASF file and the otheris a “tiny” companion file that shares the same digital signature and isgenerated specifically for use by the system and method of the presentdisclosure. The term “tiny” is used here because the file is muchsmaller than the original “main” media content file. Uniquetransaction-specific information is written into the tiny companionfile, which is then split up into its constituent ASF object components.Using only the altered ASF objects from the tiny file, the respectivesections are then spliced or combined into the main ASF file, therebyreplacing those sections and creating a new main-unique ASF file. Thisnew file will be playable as a regular DRM-encoded Windows Media file,and any attempts to obtain rights to play this file will result inunique information being passed to a license server.

One major challenge met by the present disclosure that went beyondsplicing is the fact that the system and method has to adjust all thebyte address pointers between parent (e.g., the main media content file)and child (e.g., the tiny media content file) component if the resultingASF component objects differ in size to the original. To simplify thelogic, the system and method uses the XML format to store all theaddress pointers for each section and an action to indicate whichsections need to be considered for modification, replacement or both (orneither). This XML file has to be stored for each and every media fileas well as its paired tiny file.

Referring to FIG. 1, a system and method for tracking a downloaded filein accordance with the present disclosure is provided. Generally, instep 1, a user requests a media file via the user's personal computer(PC) 12. Fulfillment download servers 14 facilitate the download ofcontent (i.e., media files) from the content storage 16 (contentdelivery network) to the end-user's PC 12 via the web page“download.aspx” 18. It is to be appreciated that the content storage 16may be a storage device in the fulfillment download server 14 or couldbe a separate server storing content as part of a content deliverynetwork. In step 2, the “FulfillmentDataAccess.cs” code 20 is deployedto see if reheadering should be applied to the media file beforedownloading to the user's PC 12. This check is performed in the“FulfillmentDataAccess.cs” code 20 in the form of a read to thefulfillment database 22 and returned in the boolean value“bReheaderRequired”. If this is TRUE then the new function“ReheaderFile” 24 is invoked, in step 2 a, and the file is alteredbefore being downloaded as will be described below. Otherwise, theunaltered copy of the original main media content file 28 is downloadeddirectly from the fulfillment database 22, in steps 4, 5 and 6. It is tobe appreciated that an unaltered copy may be downloaded when there is nocopyright associated with the media file or when the media file is beingfreely distributed by a content provider.

In step 3 a, the “ReheaderFile” function, performed in the“FulfillmentReheader.cs” code 24, applies reheadering to a tiny mediacontent file 26, i.e., the second media file representative of the firstmain media file 28, resulting in reheadered tiny media content file 30.This tiny or second file 26 has already been encrypted with the samekeys as the requested main media content file. In step 3 b, thereheadered tiny media content file 30 is then spliced into the requestedmedia file resulting in a reassembled main media content file 32. Theupdated media file 32 now has unique information embedded in it that isspecific to this download request (which may include, amongst otherthings, the following: a transaction ID, merchant ID, user ID, order ID,etc.). In step 5, the download application will be repointed to use theupdated media file 32 for the end-user and the file will be downloadedto the user's PC 12, in steps 6 and 7. Following a successful download,the reheadered tiny media content file 30 and the reassembled main mediacontent file 32 may be removed, either from memory or from temporarystorage, depending on configuration parameters of the system.

Referring to FIG. 2, a system 100 and an exemplary server 14 fortracking a downloaded file in accordance with the present disclosure isillustrated. The server, e.g., fulfillment download server 14, isimplemented on any of the various known computer platforms havinghardware such as one or more central processing units (CPU) 104, memory106 such as random access memory (RAM) and/or read only memory (ROM) andinput/output (I/O) user interface(s) 120 such as a keyboard 122, cursorcontrol device 124 (e.g., a mouse or joystick) and display device 126. Asystem bus 128 couples the various components and may be any of severaltypes of bus structures including a memory bus or memory controller, aperipheral bus, and a local bus using any of a variety of busarchitectures. The computer platform also includes an operating systemand micro instruction code. The various processes and functionsdescribed herein may either be part of the micro instruction code orpart of the software application program (or a combination thereof)which is executed via the operating system. In one embodiment, thesoftware application program is tangibly embodied on a program storagedevice, which may be uploaded to and executed by any suitable machinesuch as server 14.

In addition, various other peripheral devices may be connected to thecomputer platform of the server or machine by various interfaces and busstructures, such a parallel port, serial port or universal serial bus(USB). One such peripheral device may include a communication module,element or component 118, e.g., a modem, satellite relay, wirelessconnection, etc., for enabling communications from the server 14 tovarious content servers 130 and various user PCs 12. Another device mayinclude a media reader 108 for reading various types of external storagemedia 109. Other peripheral devices may include additional storagedevices, a printer and a scanner.

The server 14 may operate in a networked environment using logicalconnections to one or more remote computers, e.g., user PCs 12, contentserver 130, etc. The remote computer may be a personal computer, aserver, a router, a network PC, a peer device or other common networknode, and typically includes many or all of the elements described aboverelative to the machine. It is to be appreciated that the network 132may be a local area network (LAN), wide area network (WAN), the Internetor any known network that couples a plurality of computers to enablevarious modes of communication via network messages. The server 14 maycommunicate to the server 130 and network 132 via any knowncommunication link 134, for example, dial-up, hardwired, cable, DSL,satellite, cellular, PCS, wireless transmission (e.g., 802.11a/b/g,etc.), etc. Furthermore, the devices will communicate using the variousknown protocols such as Transmission Control Protocol/Internet Protocol(TCP/IP), File Transfer Protocol (FTP), Hypertext Transfer Protocol(HTTP), etc. During a purchasing transaction, the computing devices mayemploy Hypertext Transfer Protocol Secure (HTTPs), Secure Sockets Layer(SSL) Protocol, Secure Electronic Transaction (SEC) Protocol, etc.

A software program includes a digital rights management module, elementor component 110 stored in the memory 106 for tracking a downloadedfile. The digital rights management module 110 will include variousmodules that interact to perform the various functions and featuresprovided in the present disclosure. The digital rights management module110 includes a file generator 112 which is provided for generating thetiny or second file representative of the first main media file. It isto be appreciated that the tiny or second file could be an empty file orsimply include a small portion of the media content contained in thefirst main media file. An encryptor 113 is provided for encrypting thefirst main media file and the second file with the same identicalencryption key K1.

The digital rights management module 110 further includes an object mapgenerator 114 for generating object component maps for the first andsecond file in XML format. A reheadering module, element or component115 is provided for rehearing the tiny or second file with informationthat is specific to a particular download or transaction. Furthermore, asplicer 116 is provided for splicing object components from the tiny orsecond file into the first main media file.

Referring to FIG. 3, a flow diagram of an exemplary method for ingestinga first main media content file 28 in accordance with the presentdisclosure is provided. Initially in step 202, a first main mediacontent file is received by the fulfillment download server 14 from acontent owner. The first main media content file 28 may by received froma content server 130 via the communication module 118 or may be readfrom an external media storage device 109 via media reader 108. The filegenerator 112 then generates the tiny media content file 26, i.e., thesecond file representative of the first main media content file, in step204. Next, at step 206, the encryptor 113 encrypts both the first mainmedia content file 28 and the tiny media content file 26 with theidentical encryption key K1.

In steps 208 and 210, the object map generator 114 generates objectcomponent maps for the first and second file in XML format. Next, instep 212, the first main media content file 28 and corresponding firstXML map and the second tiny media content file 26 and correspondingsecond XML map are stored in the fulfillment download server 14. FIG. 4illustrates the resulting files to this point, for example, a first mainmedia content file (809274014160_(—)0001_(—)128.wma) and its associatedsecond file (temp.809274014160_(—)0001_(—)128.wma) along withcorresponding XML formatted files respectively(809274014160_(—)0001_(—)128.wma.xml andtemp.809274014160_(—)0001_(—)128.wma.xml). In one embodiment, the objectcomponents are ASF (Advanced Systems Format) objects. The maps are XMLformatted files describing the first and second files ASF objects andtheir address pointers respectively. FIGS. 5 and 6 illustrate themapping of the second smaller file in the XML format where FIG. 5 showsthe second file's media information and ASF objects and FIG. 6 shows thesecond file's ASF sections that will be used for splicing.

Referring to FIG. 7, a flow diagram of an exemplary method for trackinga downloaded file in accordance with the present disclosure isillustrated. Initially, in step 302, the fulfillment download server 14receives a request from a client, e.g., a user's PC 12, for the firstmain media content file 28, e.g., an audio file of a song, a video fileof a movie, etc. It is to be appreciated that the request will be sentover the network 132 and received by the communication module 118 of theserver 14. Next, in step 304, the digital rights management module 110accesses the requested first main media content file 28 and second file26. The reheadering module 115 applies reheadering to the second file 26to include in the second file information specific to the particulartransaction, in step 306. This transaction specific information mayinclude, amongst other things, a transaction ID, merchant ID, user ID,order ID, etc. Referring to FIG. 8, portions of the various files areshown illustrating the object components contained within each. As canbe seen, the object components 402 of the first main media content fileand the object components 404 of the second tiny media content file,created during the one-time ingestion process described above, are thesame. Object components 406 illustrate the second tiny media contentfile after it has been reheadered in step 306.

Next, in step 308, the splicer 116 determines which object components ofthe second file include the transaction data. In one embodiment, thiscan be accomplished by comparing object components from the two filesand determining which object components are different. FIG. 9illustrates an exemplary output from this comparison where typical ASFobjects within a media file are shown with certain object designated asdifferent (diff). The object components designated as different (diff)are those object components to be spliced into the first main mediacontent file.

In step 310, the splicer 116 splices the determined object components406 from the second tiny media content file into the correspondingobject components of the first main media content file. The resultingobject components 408 of the reassembled main media content file 32 areshown in FIG. 8. The reassembled main media content file 32, i.e., thecombined first and second file, is then downloaded to the client, e.g.,the user's PC 12, in step 312, via the network using any of the variousknown communication protocols. Once the download is complete, thereassembled main media content file 32 and the reheadered tiny mediacontent file 30 are deleted by the digital rights management module 110since these files contain information specific only to this transaction.

It is to be appreciated the first main media content file 28 will remainand be used for future downloads. Furthermore, the tiny media contentfile 26 and XML-formatted object component map files that are generatedin advance during the “ingestion” process (as described in relation toFIG. 3) are never deleted and are therefore stored permanently. However,the altered or reheadered tiny media content file 30 which is generatedduring the download as part of applying the reheadering process, isdiscarded. This process may occur in memory (in which case, the memoryallocated is simply reallocated for other use) or stored temporarily ona file disk (in which case, it is deleted at some point in the future,possibly immediately after download). The same applies to the splicedand modified main media content file 32 once the download has completed.The choice of using memory or the file system is mostly driven byperformance and scalability requirements. The main advantage of usingthe file system for the spliced main media content file is to allow forresuming an interrupted file download, as well as for testing andverification purposes.

Although embodiments which incorporates the teachings of the presentdisclosure have been shown and described in detail herein, those skilledin the art can readily devise many other varied embodiments that stillincorporate these teachings. Having described preferred embodiments of asystem and method for tracking a downloaded file (which are intended tobe illustrative and not limiting), it is noted that modifications andvariations can be made by persons skilled in the art in light of theabove teachings. It is therefore to be understood that changes may bemade in the particular embodiments of the disclosure disclosed which arewithin the scope of the disclosure as outlined by the appended claims.

1. A method for tracking a downloaded file, the method comprising thesteps of: receiving a request for a first file from a client; accessingsaid first file and a second file that is representative of said firstfile; applying data identifying said client into said second file; andcombining said first file and said second file such that a size of thecombined first and second file is substantially the same size as theaccessed first file.
 2. The method as in claim 1, further comprisingdownloading the combined first and second file to the client.
 3. Themethod as in claim 2, further comprising deleting the combined first andsecond file and said second file having the client data afterdownloading.
 4. The method as in claim 1, wherein the combining stepincludes replacing corresponding object components of said first filewith the objects components of said second file including the applieddata.
 5. The method as in claim 4, wherein the data identifying saidclient includes at least one of a transaction ID, merchant ID, user IDand order ID.
 6. The method as in claim 4, wherein the object componentsare advanced system format objects.
 7. The method as in claim 1, furthercomprising: receiving said first file from a content owner; generatingsaid second file that is representative of said first file; andencrypting said first and second files using an identical encryptionkey.
 8. The method as in claim 7, further comprising generating a firstmap of object components contained in said first file and a second mapof object components in said second file.
 9. The method as in claim 8,further comprising: determining which object components of said secondfile include the data identifying the client; and splicing thedetermined object components of said second file into correspondingobject components of said first file.
 10. The method as in claim 9,wherein the object components are advanced system format objects.
 11. Asystem for tracking a downloaded file, the system comprising: acommunication element for receiving a request for a first file from aclient; a digital right management element for accessing said first fileand a second file that is representative of said first file; areheadering element applying data identifying said client into saidsecond file; and a splicer for combining said first file and said secondfile such that a size of the combined first and second file issubstantially the same size as the accessed first file.
 12. The systemas in claim 11, wherein the communication element is further adapted fordownloading the combined first and second file to the client.
 13. Thesystem as in claim 12, wherein the digital right management element isfurther adapted for deleting the combined first and second file and saidsecond file having the client data after downloading.
 14. The system asin claim 11, wherein the splicer is further adapted for replacingcorresponding object components of said first file with the objectscomponents of said second file including the applied data.
 15. Thesystem as in claim 14, wherein the data identifying said client includesat least one of a transaction ID, merchant ID, user ID and order ID. 16.The system as in claim 14, wherein the object components are advancedsystem format objects.
 17. The system as in claim 11, wherein thecommunication element is further adapted for receiving said first filefrom a content owner, and the system further comprises: a file generatorfor generating said second file that is representative of said firstfile; and encryptor for encrypting said first and second files using anidentical encryption key.
 18. The system as in claim 17, furthercomprising an object map generator for generating a first map of objectcomponents contained in said first file and a second map of objectcomponents in said second file.
 19. The system as in claim 18, whereinthe splicer is further adapted for determining which object componentsof said second file include the data identifying the client and splicingthe determined object components of said second file into correspondingobject components of said first file.
 20. The system as in claim 19,wherein the object components are advanced system format objects.